AssociationRecord.java
package org.codefilarete.stalactite.engine.runtime;
import java.util.Objects;
/**
* A container to store association table rows.
* It will be used in one-to-many associations and as no reason to be used outside of it.
*
* @author Guillaume Mary
*/
public class AssociationRecord {
protected Object left;
protected Object right;
private boolean persisted = false;
public AssociationRecord() {
}
public AssociationRecord(Object leftValue, Object rightValue) {
this.left = leftValue;
this.right = rightValue;
}
public Object getLeft() {
return left;
}
public void setLeft(Object left) {
this.left = left;
}
public Object getRight() {
return right;
}
public void setRight(Object right) {
this.right = right;
}
public void markAsPersisted() {
persisted = true;
}
public boolean isPersisted() {
return persisted;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof AssociationRecord)) return false;
AssociationRecord that = (AssociationRecord) o;
return Objects.equals(left, that.left) &&
Objects.equals(right, that.right);
}
@Override
public int hashCode() {
return Objects.hash(left, right);
}
}